home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 010 / apple.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1984-04-24  |  6.2 KB  |  199 lines

  1. 10  KEY OFF:SCREEN 0,1:COLOR 15,0,0:WIDTH 40:CLS:LOCATE 5,19:PRINT "IBM"
  2. 20  LOCATE 7,8 ,0:PRINT "General  utility  programs"
  3. 30  COLOR 9 ,0:LOCATE 10,9,0:PRINT CHR$(213)+STRING$(21,205)+CHR$(184)
  4. 40  LOCATE 11,9,0:PRINT CHR$(179)+"       ATTACK        "+CHR$(179)
  5. 50  LOCATE 12,9,0:PRINT CHR$(179)+STRING$(21,32)+CHR$(179)
  6. 60  COLOR 9,0:LOCATE 13,9,0:PRINT CHR$(179)+"     Version  1.1    "+CHR$(179)
  7. 70  BEEP
  8. 80  LOCATE 14,9,0:PRINT CHR$(212)+STRING$(21,205)+CHR$(190)
  9. 90  COLOR 15,0,1:LOCATE 17,7,0:PRINT "OCTOBER 7  1982   MOD-5-5-M "
  10. 100  COLOR 9,0:LOCATE 23,6,0:PRINT "Press space bar to continue..."
  11. 110  IF INKEY$ <> "" THEN GOTO 110
  12. 120  CMD$ = INKEY$
  13. 130  IF CMD$ = "" THEN GOTO 120
  14. 140  IF CMD$ = CHR$(27) THEN GOTO 160
  15. 150  IF CMD$ <> " " THEN GOTO 120
  16. 160  REM TRANSFER COMMAND
  17. 500  R1$=LEFT$(TIME$,2):R2$=RIGHT$(TIME$,2):R3$=MID$(TIME$,3,2)
  18. 510  RANDOMIZE VAL(R1$+R2$+R3$)
  19. 520  KEY OFF:SCREEN 0,1:SC=0:SF=60:BD=35:WIDTH 40:COLOR 7,0:CLS :DEF SEG=&H40:POKE &H17,&H40
  20. 530  LOCATE 1,1,0:PRINT "DO YOU WANT INSTRUCTIONS ?":I$=INKEY$:IF I$="" THEN 530 ELSE IF I$="Y" THEN GOSUB 1800
  21. 540  A$="_____/\_____/\__/\_______/\_/\____/\__/\___\[\_/\_____/\__oo\[\oo____/\___/\/\_ZP?___/\__/\\\\\\/\___\WW\___/\___sr__/\__\RRR\__\AAA\_/\__/\__sr__/\______/\_____/\__/\_______/\_/\____/\__/\?"
  22. 550  CLS:IF SC=0 THEN DIM X(4),Y(4),R(4)
  23. 560  L=0:Y1=0:Q=1:Y(1)=14:X(1)=40:Q1=1:SE=0:B=-1:Z=0
  24. 570  Y=INT(RND(1)*14)+8
  25. 580  COLOR 1:LOCATE 5,10,0:PRINT "________________________________________";
  26. 590  M$=STRING$(36,196):N$=STRING$(36,32)
  27. 600  COLOR 7:LOCATE 4,3:PRINT "BOMBS -";BD;" SCORE -";SC;:LOCATE 4,28:PRINT"LASERS -";SF;"
  28. 610  COLOR 1:LOCATE 5,10,0:PRINT "________________________________________";
  29. 620  B$=MID$(A$,1,40)
  30. 625  DEF SEG=0:POKE 1047,32
  31. 630  COLOR 6:LOCATE 23,1+Z,0:PRINT B$;
  32. 640  GOSUB 2100
  33. 650  L=L+1:IF L=150 THEN SOUND 40,0:GOTO 1580
  34. 660  IF Z>0 THEN Z=Z-1
  35. 670  B$=MID$(A$,L+Z,40-Z)
  36. 680  COLOR 6:LOCATE 23,1+Z,0:PRINT B$;
  37. 690  IF Y5=1 THEN SOUND 1500,0:SOUND 1500,0.1:C$=INKEY$:GOTO 780
  38. 700  C$=INKEY$:IF C$="" THEN 800
  39. 710  IF C$="8" THEN Y1=-1
  40. 720  IF C$="2" THEN Y1=1
  41. 730  IF C$="5" THEN Y1=0
  42. 740  GOTO 780
  43. 780  IF BD>0 AND B=-1 AND Y<20 THEN IF C$="4" THEN GOSUB 1030
  44. 790  IF SF>0 AND C$="6" THEN GOSUB 1100
  45. 800  IF Y5<>1 THEN SOUND 32767,0.01:SOUND 45,0.01
  46. 810  IF Y+Y1=6 THEN Y5=1:Y1=1
  47. 820  IF Y+Y1=23 THEN SE=1:GOTO 1200
  48. 830  LOCATE Y,2:PRINT "   ";
  49. 840  Y=Y+Y1
  50. 850  COLOR 15:LOCATE Y,2:PRINT ">M";CHR$(26);
  51. 860  IF B=1 THEN GOSUB 1070
  52. 870  FOR Q=1 TO Q1
  53. 880  IF R(Q)<>1 THEN 910
  54. 890  IF R(Q)=1 AND INT(RND(1)*50)>45 THEN R(Q)=0:GOTO 910
  55. 900  IF Q<Q1 THEN Q=Q+1:GOTO 880 ELSE 1020
  56. 910  LOCATE Y(Q),X(Q):PRINT " "
  57. 920  X(Q)=X(Q)-2:Y(Q)=Y(Q)+Y1(Q)
  58. 930  IF X(Q)=0 THEN GOSUB 1410
  59. 940  COLOR 7:LOCATE Y(Q),X(Q):PRINT CHR$(27);
  60. 950  IF (Q1<4 AND X(Q)=30) THEN GOSUB 1430
  61. 960  IF Y(Q)<Y THEN Y1(Q)=1
  62. 970  IF Y(Q)>Y THEN Y1(Q)=-1
  63. 980  IF INT(RND(1)*40)>35 THEN Y1(Q)=-Y1(Q)
  64. 990  IF Y(Q)+Y1(Q)=23 OR Y(Q)+Y1(Q)=6 THEN Y1(Q)=0
  65. 1000  IF ((X(Q)=4 OR X(Q)=2) AND Y(Q)=Y) THEN 1200
  66. 1010  NEXT Q
  67. 1020  GOTO 650
  68. 1030  IF Y/2=INT(Y/2) THEN BY=Y+1 ELSE BY=Y
  69. 1040  COLOR 7:B=1:BD=BD-1:Y2=Y:LOCATE 4,3:PRINT "BOMBS -";BD
  70. 1050  COLOR 2:LOCATE BY,3:PRINT "";
  71. 1060  RETURN
  72. 1070  IF BY=21 THEN GOSUB 1450:RETURN
  73. 1080  COLOR 2:LOCATE BY,3:PRINT " ";:BY=BY+2:LOCATE BY,3:PRINT "";
  74. 1090  RETURN
  75. 1100  COLOR 4:LOCATE Y,5:PRINT M$;:SF=SF-1:COLOR 7:LOCATE 4,28:PRINT "LASERS -";SF
  76. 1110  SOUND 32767,0:SOUND 900,1:FOR D=1 TO 20:NEXT D:SOUND 32767,0
  77. 1120  LOCATE Y,5:PRINT N$;
  78. 1130  FOR W=1 TO Q1:IF Y=Y(W) AND X(W)>4 AND R(W)<>1 THEN 1160
  79. 1140  NEXT W
  80. 1150  RETURN
  81. 1160  SC=SC+20:COLOR 7:LOCATE 4,14:PRINT "SCORE -";SC
  82. 1170  LOCATE Y(W),X(W):PRINT "0";:FOR S=150 TO 160:SOUND S,0.1:NEXT S:LOCATE Y(W),X(W):PRINT " ";
  83. 1180  Y(W)=INT(RND(1)*16)+7:X(W)=40:R(W)=1
  84. 1190  RETURN
  85. 1200  SOUND 32767,0:LOCATE Y,2:PRINT "   ";
  86. 1210  COLOR 7
  87. 1220  IF SE=1 THEN Y=Y+Y1
  88. 1230  LOCATE Y,2:PRINT ">M";CHR$(26);:SOUND (RND(1)*99)*C+40,0.01
  89. 1240  FOR D=1 TO 100:NEXT D
  90. 1250  FOR C1=178 TO 176 STEP -1:FOR C=15 TO 0 STEP -1
  91. 1260  LOCATE Y,2:PRINT CHR$(C1);CHR$(C1);CHR$(C1);:SOUND (RND(1)*99)*C+40,0.01
  92. 1270  NEXT C:NEXT C1
  93. 1280  SOUND 39,0
  94. 1290  LOCATE Y,2:PRINT "   "
  95. 1295  IF SC>800 THEN FOR N=1 TO 15:COLOR N,N:CLS:SOUND N*37,7:FOR T=1 TO 115:NEXT T:NEXT N:COLOR 7,0:CLS:LOCATE 11,6:PRINT"G A M E    O V E R":PRINT:PRINT:PRINT"     GOOD JOB!!":DEF SEG=0:POKE 1047,0:END
  96. 1300  A$="YOU FAILED"
  97. 1310  FOR L=1 TO 10:B$=MID$(A$,L,1)
  98. 1320  LOCATE 10,14+L:PRINT B$;
  99. 1330  SOUND 60,0.1:SOUND 60,0:FOR D=1 TO 50:NEXT D
  100. 1340  NEXT L
  101. 1350  A$="YOUR MISSION"
  102. 1360  FOR L=1 TO 12:B$=MID$(A$,L,1)
  103. 1370  LOCATE 12,13+L:PRINT B$;
  104. 1380  SOUND 60,0.1:SOUND 60,0:FOR D=1 TO 50:NEXT D
  105. 1390  NEXT L
  106. 1400  DEF SEG=0:POKE 1047,0:END
  107. 1410  Y(Q)=INT(RND(1)*15)+8:X(Q)=40:R(Q)=1:Y1(Q)=0
  108. 1420  RETURN 1010
  109. 1430  Q1=Q1+1:Y(Q1)=INT(RND(1)*15)+8:X(Q1)=40:Y1(Q)=0
  110. 1440  RETURN
  111. 1450  B=-1
  112. 1460  BE=SCREEN(BY+2,3)
  113. 1470  LOCATE BY,3:PRINT " ";
  114. 1480  BY=BY+2
  115. 1490  SOUND 50,0
  116. 1500  FOR D=178 TO 176 STEP -1:FOR S=140 TO 142:LOCATE BY,1:COLOR INT(RND(1)*16+1):PRINT " ";STRING$(3,D):SOUND S,0.01:NEXT S:SOUND 40,0:NEXT D
  117. 1510  IF BE=210 OR BE=193 THEN SC=SC+(25-Y2)*12
  118. 1514  IF BE=>169 AND BE<>210 AND BE<>193 AND BE<>196 THEN SC=SC+INT(RND*30)+10
  119. 1520  COLOR 7:LOCATE 4,14:PRINT "SCORE -";SC
  120. 1530  Z=4
  121. 1540  LOCATE BY,2:PRINT "   "
  122. 1550  RETURN
  123. 1560  BY=BY+2
  124. 1570  SOUND 50,0
  125. 1580  'COLOR 7:LOCATE 7,1:PRINT "\   /";
  126. 1590  FOR D=1 TO 150:NEXT D
  127. 1600  COLOR 7:LOCATE 7,1:PRINT " \ /";
  128. 1610  FOR D=1 TO 150:NEXT D
  129. 1620  LOCATE 7,1:PRINT "/   \":COLOR 14
  130. 1630  FOR L=7 TO Y-1:LOCATE L,3:PRINT "[";
  131. 1640  FOR D=1 TO 100:NEXT D:SOUND L*100,0.1:NEXT L
  132. 1650  COLOR 15
  133. 1660  FOR L=Y-1 TO 7 STEP -1:LOCATE L+1,2:PRINT "   ";:LOCATE L,2:PRINT ">="+CHR$(26);
  134. 1670  FOR D=1 TO 100:NEXT D:SOUND L*100,0.1:NEXT L
  135. 1680  COLOR 7:LOCATE L+1,2:PRINT "   ";
  136. 1690  FOR D=1 TO 150:NEXT D
  137. 1700  LOCATE L+1,1:PRINT " \ / ";
  138. 1710  FOR D=1 TO 150:NEXT D
  139. 1720  LOCATE L+1,1:PRINT "     ";
  140. 1730  LOCATE L,2:PRINT "___";
  141. 1740  A$="MISSION COMPLETE"
  142. 1750  FOR L=1 TO 16:B$=MID$(A$,L,1)
  143. 1760  LOCATE 10,11+L:PRINT B$;
  144. 1770  SOUND 60,0.1:SOUND 60,0:FOR D=1 TO 50:NEXT D
  145. 1780  NEXT L
  146. 1790  IF SC>500 THEN SOUND 100,3:BEEP:SOUND 120,1:BEEP:SOUND 200,3:SOUND 400,3:SOUND 500,4:SOUND 600,5:SOUND 700,2:SOUND 800,3:SOUND 700,2:SOUND 200,3:GOTO 1795
  147. 1793  SOUND 100,2:SOUND 300,2:SOUND 500,3:END
  148. 1795  LOCATE 15,5:PRINT "ON TO THE NEXT ROUND!"
  149. 1797  FOR O=1 TO 1900:NEXT O
  150. 1799  GOTO 540
  151. 1800  CLS
  152. 1810  '                                            +
  153. 1820  PRINT "  YOUR MISSION IS TO ATTACK AND DESTROY"
  154. 1830  PRINT "THE APPLE COMPUTER MANUFACTURING PLANT."
  155. 1840  PRINT "YOU ARE ALLOTED 35 BOMBS AND 60 LASERS."
  156. 1850  PRINT "THERE ARE APPLE-OWNED FIGHTERS TRYING"
  157. 1860  PRINT "TO STOP YOU,YOU MUST DESTROY THEM WITH"
  158. 1870  PRINT "YOUR LASERS.IF YOU GET HIT BY THEM THEN"
  159. 1880  PRINT "YOU ARE DESTROYED,IF YOU HIT THE GROUND"
  160. 1890  PRINT "THEN YOU ARE DESTROYED.IF YOU GO OUT OF"
  161. 1900  PRINT "THE ATMOSPHERE (THE BLUE LINE),THEN YOU"
  162. 1910  PRINT "LOOSE ALL CONTROL EXCEPT LASERS AND"
  163. 1920  PRINT "BOMBS,AND YOUR SHIP WILL BEGIN FALLING."
  164. 1930  PRINT "  DROP BOMBS ON ALL STRUCTURES AND YOU"
  165. 1940  PRINT "WILL GET POINTS. THE APPLE PLANT (SHOWN"
  166. 1950  PRINT "BELOW) IS WORTH THE MOST POINTS."
  167. 1960  PRINT
  168. 1970  COLOR 6:PRINT "___sr__/\__\RRR\__\AAA\_/\__/\__sr__/\__";
  169. 1980  COLOR 7+16:PRINT "            ^^^    ^^^"
  170. 1990  COLOR 7:PRINT
  171. 2000  PRINT "  IF YOUR SCORE IS HIGH ENOUGH AFTER "
  172. 2010  PRINT "ROUND ONE THEN YOU ARE READY TO FACE "
  173. 2020  PRINT "ROUND TWO. "
  174. 2030  LOCATE 25,1,0:PRINT "press space bar to continue";
  175. 2040  A$=INKEY$:IF A$="" THEN 2040
  176. 2050  PRINT "  USE CURSOR CONTROL KEYS TO MOVE,8 TO"
  177. 2060  PRINT "  GO UP,2 TO GO DOWN,5 TO STOP,4 TO "
  178. 2070  PRINT "  DROP BOMBS, AND 6 TO FIRE THE LASER"
  179. 2080  A$=INKEY$:IF A$="" THEN 2080
  180. 2090  CLS:RETURN
  181. 2100  'COLOR 7:LOCATE 7,1:PRINT "\   /";
  182. 2110  FOR D=1 TO 150:NEXT D
  183. 2120  COLOR 7:LOCATE 7,1:PRINT " \ /";
  184. 2130  FOR D=1 TO 150:NEXT D
  185. 2140  LOCATE 7,1:PRINT "/   \":COLOR 14
  186. 2150  FOR L=7 TO Y-1:COLOR 14:LOCATE L,2:PRINT " [ ";:COLOR 15:LOCATE L+1,2:PRINT ">="+CHR$(26);
  187. 2160  FOR D=1 TO 100:NEXT D:SOUND L*100,0.1:NEXT L
  188. 2170  COLOR 15
  189. 2180  FOR L=Y-1 TO 7 STEP -1:LOCATE L,3:PRINT " ";
  190. 2190  FOR D=1 TO 100:NEXT D:SOUND L*100,0.1:NEXT L
  191. 2200  COLOR 7:LOCATE L+1,2:PRINT "   ";
  192. 2210  FOR D=1 TO 150:NEXT D
  193. 2220  LOCATE L+1,1:PRINT " \ / ";
  194. 2230  FOR D=1 TO 150:NEXT D
  195. 2240  LOCATE L+1,1:PRINT "     ";
  196. 2250  LOCATE L,2:PRINT "___";
  197. 2260  FOR D=1 TO 150:NEXT D:COLOR 1:LOCATE L,2:PRINT "___";
  198. 2270  RETURN
  199.